package com.molichuxing.services.infrastructure.dto.response.response;

import com.molichuxing.framework.dto.ResponseRootDto;
import com.molichuxing.services.property.SystemTypeEnum;

import lombok.Data;

import java.time.LocalDateTime;

@Data
public class AccountDto extends ResponseRootDto {
	private static final long serialVersionUID = 5418551736827135665L;

	/**
	 * id id
	 */
	private Integer id;

	/**
	 * 系统类型（1：op，2：经销商） system_type
	 */
	private SystemTypeEnum systemType;

	/**
	 * 用户账号（邮箱） account
	 */
	private String account;

	/**
	 * 登陆密码 password
	 */
	private String password;

	/**
	 * 密码盐值 password_salt
	 */
	private String passwordSalt;

	/**
	 * 真实姓名 real_name
	 */
	private String realName;

	/**
	 * 是否启用(0:启用，1:禁用)，默认启用 status
	 */
	private Integer status;

	/**
	 * 是否删除(0：未删除, 1：删除) is_deleted
	 */
	private Boolean isDeleted;

	/**
	 * 角色id
	 */
	private Integer groupId;

	/**
	 * 绑定角色名称
	 */
	private String groupName;

	/**
	 * 是否为超级管理员（0:否， 1:是），默认为0 is_super
	 */
	private Boolean isSuper;

	/**
	 * 智能终端权限(0:没有，1:有),默认为0 smart_terminal
	 */
	private Boolean smartTerminal;

	/**
	 * 操作人id account_id
	 */
	private Integer accountId;

	/**
	 * 操作人名 account_account
	 */
	private String accountAccount;

	/**
	 * 经销商id
	 */
	private Integer dealerId;

	/**
	 * 用户手机号 user_phone
	 */
	private String userPhone;

	/**
	 * 车联网角色名称 iov_group_name
	 */
	private String iovGroupName;

	private LocalDateTime gmtCreate;

	public AccountDto setSystemType(Integer systemType) {
		this.systemType = systemType == null ? null : SystemTypeEnum.getEnum(systemType);
		return this;
	}
}
